Printer Defaults is an application to modify the default settings in printer drivers and similar Chooser documents such as print-to-fax and print-to-document drivers. If you want a more substantial range of patches for laser printers then get hold of Don Markuson's dmm-laserwriter collection which is available, for example, by anonymous ftp from mirrors of the Info-Mac archive in the directory /info-mac/prn.
Printer Defaults has been tested on various machines running systems 6.0.7, 7.0.1, 7.1.x, 7.5.x, and with a large number of different fax and printer drivers including LaserWriter 8.0, 8.1.1, 8.2.x, 8.3.x and 8.4.
WARNING!!!
YOU SHOULD ONLY MODIFY A COPY OF THE PRINTER DRIVER, NEVER THE ORIGINAL.
Usage
Under classic QuickDraw™ launch Printer Defaults and use the Standard File dialog to select a printer driver to configure (or drop one or more drivers onto Printer Defaults' icon under System 7). This will bring up a "Page Setup" dialog which you can use to select the new defaults. Clicking "OK" will save these back to the driver, "Cancel" will go on without saving.
For some printer drivers, there are some extra options which cannot be accessed from the Page Setup dialog. If any are applicable to the driver you are modifying an additional dialog will next appear.
Finally, a "Print…" dialog will appear so that any changes already made which affect its appearance can be seen, and, in the case of some drivers, any settings in the "Print…" dialog which can be written to back can be altered. This varies with the driver, and in any case may still be ignored or modified at print time by the printer driver or the application.
From version 1.4 onwards the dialogs after the Page Setup dialog are optional and controlled from the Options dialog from the opening screen.
Most of the features described in this document only apply to classic QuickDraw™ but with QuickDraw™ GX loaded you can edit the default paper type for classic QuickDraw™ printing compatibility in the default desktop printer. To edit the default paper type stored in the QuickDraw™ GX extension itself you must start up your Macintosh computer with extensions disabled. Do this by holding down the SHIFT key whilst switching on or restarting until the "Extensions Off" message appears. You can then use the Standard File dialog to locate and select the QuickDraw™ GX extension. A dialog containing a popup menu of paper types stored in the extension appears and you can select the paper type to be the default after the next restart.
How it works (classic QuickDraw™)
Printer Defaults works by reading in the default settings for the TPrint Record stored in the resource of type 'PREC' with ID 0 in the driver and then doing a "Page Setup". Any changes are written back to the driver and become its new defaults.
BUT, once a "Page Setup" has been done in a document, any given application may save a copy of PREC 0 in its own resource fork, or preferences file, or settings document or each individual document and use this in preference to the defaults in the driver for future calls to Page Setup. Many word processors do this for each document. Subsequently modifying the driver will not have any effect on these stored defaults. TeachText or SimpleText always fetches the PREC 0 afresh so it is a good way to test if changes have stuck. There is a lot of this sort of cacheing going on which can appear to defeat setting the defaults in the driver.
LaserWriter 5.x, 6.0, 6.0.1
The Print dialog of LaserWriter 5.x, 6.0, 6.0.1 contains a hidden checkbox to allow printing of PostScript™ output to a disk file rather than a printer. Printer Defaults can make this checkbox visible.
LaserWriter 7.2
A fore-runner of LaserWriter 8, LaserWriter 7.2 puts a ‘Setup’ button in the Chooser to allow the printer to be interrogated and stores the resulting information in a Preferences file. Printer Defaults can hide this button which makes the behaviour closer to LaserWriter 7.x.
LaserWriter 8.x
LaserWriter 8.x (and Adobe's PSPrinter) uses a preferences file as well as resources for storing its defaults. Some features may also be read from a PPD (printer description) file and will override any settings in the driver. In addition some settings are hard coded in inital values of pop-up menus and other controls, and there seems to be no resource-based way of changing these. So the strategy for setting the defaults with these drivers is more complicated than with previous drivers. Also the preferences file must exist or the driver will only give an error message.
The preferences file is created by the driver when it is selected by the Chooser so the first step is to place the LaserWriter 8.x driver in the Extensions folder and select it with the Chooser. The preferences file will be created and various information stored in it.
When Printer Defaults is run with LaserWriter 8.x, the information in the "Page Setup" dialog is partly controlled by resources and partly by the preferences file.
For LaserWriter 8.x a second dialog of options will also be displayed. Some are additional options from Don Markuson's collection of LaserWriter patches which allow the use of the Setup button in the Chooser at all times, and add the n-up printing menu to the Print dialog. A final option allows the LaserWriter driver to be used without AppleTalk. This is useful only for PS File generation as it removes the driver's ability to actually connect to a printer.
LaserWriter 8.1.1 and later drivers contain a PRFS -8192 resource, many of whose meanings are unknown to me - I simply read the titles of the check boxes from the TMPL supplied and allow the user to turn any of them on or off.
In order to set the driver up for a specific printer, use the Chooser to select the LaserWriter 8.x driver and press the Setup button (if the button is grayed out, use Printer Defaults to check the box "Setup button in Chooser always active" in the second dialog, save and then quit and then go back to the Chooser). Then press the "Select PPD…" button and choose the PPD file for your printer. Then press the "Setup" button and modify the settings to match the hardware configuration of your printer. Save the settings and close the Chooser.
Now run Printer Defaults and select the driver, set the "Page Setup" buttons to the settings you want and click the "OK" button. In the next dialog modify any settings as desired and click "Save". Finally in the "Print" dialog press the "Options" button and make any desired changes ABOVE THE DOTTED LINE. Press "OK" and then "Print" to save the changes to the driver. Note that in the "Options" dialog any settings below the dotted line are reset with every print job so cannot be made to stick with Printer Defaults. Sometimes they can be controlled by using switches on the printer itself.
LaserWriter 8.x (but not 8.4) also makes it easy to lock the driver to print only a single copy at a time. This has been added as an additional option to Printer Defaults. This was originally #7 in Don's list of hacks. The June 1994 MacWorld mistakenly said this hack was included in v1.1.1 of Printer Defaults. To avoid having to keep explaining why it isn't I have added it to v1.3 with one modification. It turns out that QuarkXpress (and perhaps other applications) can be confused by turning the number of copies entry box into a static text item as originally suggested by Don and fails to add its own additional items correctly. So in this version of Printer Defaults the number of copies is moved off screen and the driver modified so that it will ignore any entry in this box if a user attempts to type in a number blind.
If Printer Defaults finds a LaserWriter 8.x driver which has had the number of copies changed to static text, it changes the type back to edit text and moves it off-screen.
LaserWriter 8.4
LaserWriter 8.4 is a substantial rewrite of the LaserWriter driver and changes quite a number of things. For one thing, many more settings can now be adjusted from the Print dialog, and the current settings saved as defaults. This includes n-up printing (now called Layout) and settings for saving the output as a postscript file. Also the postscript code for setting the number of copies to be printed can no longer be accessed from a resource, so Printer Defaults can no longer lock the number of copies to 1. I've left in an option to move the number of copies entry box off screen.
I've also left in the option to make the Setup button in the Chooser always active, even though pressing it on my system does not allow the PPD file to be selected manually unless a laser printer can actually be selected.
Third party drivers
Although Printer Defaults has never crashed for me when modifying Apple printer drivers, versions 1.3.1 and earlier did crash with some third party drivers. I think I have traced the cause of this problem (see the version history for the details). If you experience such a crash then please let me know the name of the driver, its version number and, if possible, the driver's creator signature (as given by ResEdit's Get File Info command). For safety it is more essential than ever in these circumstances that you only modify a copy.
The list of these signatures is stored in a 'CHOS' resource and a ResEdit template is included in Printer Defaults to add signatures to or remove them from the list.
Paper Trays
One of the most frequently asked questions I have received as a result of distributing Printer Defaults is "How do I change the default paper tray in my LaserWriter Pro 630?"
The default paper source is stored in the permanent memory of the printer and can sometimes be modified by means of a short postscript program. In some printers the changes may only survive until it is power cycled. In the Paper Trays Folder are some postscript programs to set the default tray to the Main or 500-sheet Cassettes, the Multipurpose Tray or Envelope Feeder tray. The factory default is the Main Cassette.
Use the LaserWriter Utility supplied on the printer installation disks to download the program to select the desired tray. You should then also turn off "Automatic Tray Switching" in the "Paper Handling…" dialog from the "Utilities" menu. The successful selection of the new tray as default should be recorded in the LaserWriter Utility log file (which saves using up more trees to find out ;-). I cannot guarantee this will work with all printers, you may have to experiment to find out if it works with yours.
I have also included some programs to change the defaults on other postscript printers that have a choice of trays (Personal LaserWriter NTR, LaserWriter Select 310/360). Feedback suggests that earlier versions of these files can generate postscript errors so I have changed them for sample code supplied by Apple DTS.
Thanks
Thanks to the Mac-Supporter's mailing list (one of the NISP Mailbase lists in the UK academic community) for being such a useful source of Macintosh knowhow.
Thanks to Don Markuson for all those useful LaserWriter patches and allowing me to include some in Printer Defaults. He was also kind enough to comment on an early version of Printer Defaults and suggest several improvements.
Thanks also to:
Ian Harries for bringing Don's LaserWriter 8 patches to my attention which provided the initial stimulus to write Printer Defaults.
David Fagan for pointing out some problems with LaserWriter 8.
Ad Herweijer for PostScript routines to change the default paper tray and Chris Ryan for help with the revised files.
Randy Hust for pointing out the MacWorld article which predicted the addition of the locked copies option;-).
Mike Schon-Hegrad for reporting the problems with the DeskWriter drivers and testing the FaxSTF driver.
Otto Giesenfeld for reporting problems with the FaxSender that comes with the Express Modem Tool.
Arne Schaper for testing the StyleWriter Pro driver.
Lawrence D'Oliveiro for pointing me to the 'ptyp' resources in the QuickDraw™ GX extension as the storage location for the GX default paper types and help with implementing the GX features.
Current versions of Printer Defaults can be obtained by anonymous ftp from the Info-Mac archive and mirrors or the University of Michigan's MacArchive at mac.archive.umich.edu and its mirrors. It is also available from the Macintosh library of the UK Information Tech Forum (GO UKIT) on CompuServe and from the ftp server at the University of Warwick Mathematics Department at the URL
Version 1.5.3 fixes a multimonitor window centering problem and restores some options which were dropped in 1.5.2 to make room for the larger PRFS resource.
Version 1.5.2 adds compatibility with the release version of LaserWriter 8.4.
Version 1.5.1 adds compatibility with the beta version of LaserWriter 8.4 included on the WWDC CD. The PRFS resource now has more than 8 active items necessitating a larger dialog box. Some items in this dialog can now be controlled from the multipage Print dialog and the new settings saved.
Version 1.5 adds some QuickDraw™ GX compatibility. Printer Defaults will now change the default paper type stored in the QuickDraw™ GX extension, and also the 'PREC' 0 resource in GX printer drivers which maintains backwards compatibility with classic QuickDraw™ printing. Chuck's Printer Driver has been added to the list of drivers which must first be selected in the Chooser before Printer Defaults can be used.
Version 1.4.3 adds the Epson StylusCOLOR v2.0 to the list of printers which must be selected by the Chooser otherwise a system error of type 25 occurs.
Version 1.4.2 has a wider extra options dialog for the longer strings in the template for the LaserWriter 8.3 PRFS resource.
Version 1.4.1 “does the right thing” and saves its preferences in a preference file. Ulf Dittmer reports that the ValueFax driver crashes Printer Defaults with a bus error. This occurs with the Print dialog when 32 bit addressing is switched on. I've not been able to find the cause, so I have disabled the Print dialog with this driver.
Version 1.4 has an Options dialog which controls whether the extras and Print… dialogs are shown after the Page Setup dialog. This can be useful if you have a number of drivers to modify and all you want to do is change the default paper size; waiting for the other dialogs to pass by can be tedious. The old location of the LaserWriter 8.x N-up menu in the Print dialog is reported to conflict with other items when used with Fax capable printers. This version allows the N-up menu to be placed below the Paper Source menus. The old behaviour can be restored via the Options dialog. This version has been tested with LaserWriter 8.2.2. After a number of reports of postscript errors arising from using the paper tray selection files I have replaced them with simpler code taken from the Apple Developer CD. This version was not generally released.
Version 1.3.2 attempts to fix a problem which could cause a crash with some drivers. This was caused by locking some driver resources in memory whilst handling the standard printing dialogs. Printer Defaults now only keeps copies of these resources. This version has been tested with the release version of LaserWriter 8.2. I have added a dialog pointing out that Printer Defaults does not yet work with QuickDraw GX drivers.
Version 1.3.1 modifies the additional options dialog for LaserWriter 8.x to work with an alpha release of LaserWriter 8.2 included on the 1994 World Wide Developer's Conference CD. There is no guarantee that it will work correctly with the final version of 8.2. It also adds an option to hide the Setup button in LaserWriter 7.2 and includes some untested postscript files intended to change the default paper trays on the Personal LaserWriter NTR and LaserWriter Select 310/360.
Version 1.3 adds the ability to lock the number of copies in the Print dialog of LaserWriter 8. This was mentioned in a recent US MacWorld article as one of Printer Defaults options so I guess I had better put it in. Some HP DeskWriter drivers cause Printer Defaults to crash unless they are the currently selected driver in the Chooser. Printer Defaults now checks for this and puts up a warning message if the driver is not selected.
Version 1.2 adds Cmnd-Q to quit from Standard File dialog and an extra option to display an error alert when parsing PPD files in LaserWriter 8.0. It also fixes a cosmetic bug which failed to change the name of the folder button in the Standard File dialog to "System Folder" under System 6. PostScript programs are now included to change the default trays in the LaserWriter Pro 630.
Version 1.1.1 fixes a memory problem bug and has an improved interface.
Version 1.1 added some of Don Markuson's patches for LaserWriter 8.x.
Version 1.0 was the first public release and allowed the user to save the Page Setup settings as defaults and the LaserWriter 8.1.1 PRFS resource to be edited.